Copyright: Copyright© 1997-1998 Sampson Multimedia
Citation: Copyright© 1997-1998 Sampson Multimedia


Installation

Welcome to Crypto++ SDK™ ActiveX, this easy-to-use yet powerful Toolkit for Windows 98/95/NT, is a complete solution to all of your Software Licensing and Copy Protection needs.

Installation of this product is as easy as running the setup.exe file, then following instructions on screen.

The installation process will create a program group in which you will find the Crypto++ SDK Key Calculator Wizard’s icon. This Key Calculator program will calculate the Activation Codes to be provided to your customers. The ActiveX Control (crypto.ocx) will be copied to the windows\system directory, and a TEMPLATE directory structure with all of the sample templates will be created.

REDISTRIBUTABLES:

The Crypto++ SDK’s ActiveX Control (crypto.ocx) is the only one file you need to redistribute along with your protected applications, it should be copied to the windows\system directory and is 100% Royalty-Free, this means there are no charges for redistributing this control with any number of copies of any different applications. You may also want to redistribute the run-time files “mfc42.dll”, “msvcrt.dll”, and “olepro32.dll” in case your users don’t have them already on their computer. You will find these files in the REDIST directory. No license files are required by the Crypto++ SDK’s  ActiveX Control. Remember to REGISTER the control during the installation process of your protected applications. Read the “readme.txt” file in the REDIST directory.


Functions Reference
Control Reference

PROPERTIES:

ActivationKey

This property is your Private Activation Key to be used for encryption of Activation Codes.

TYPE: UNSIGNED LONG.

AutoCleanUp

This property is to be set to TRUE (checked) ONLY when developing applications with Visual C++. For Visual Basic, Delphi, and C++ Builder, it must be set to FALSE (unchecked) as clean-up will be done automatically by the Quit method.

TYPE: BOOL.

CompanyInfoString

This property handles your company information. You should test it to see how this information looks when it is displayed on the dialog box which asks for the Activation Code.

TYPE: STRING.

ControlFileString

This property handles a string used to create the main Control File. It must be a 4 character string, and should be different for each project.

TYPE: STRING.

DaysAllowed

Number of days granted when a protected application starts in trial/demo mode.

TYPE: UNSIGNED LONG.

MaxDays

Maximum number of days to be taken as a legal value when entering an Activation Code.

TYPE: UNSIGNED LONG.

MaxRuns

Maximum number of runs to be taken as a legal value when entering an Activation Code.

TYPE: UNSIGNED LONG.

NoExpiration

Value to be entered in the RUNS field of the Key Calculator when obtaining an Activation Code for a protected application to NEVER EXPIRE.

TYPE: UNSIGNED LONG.

RunsAllowed

Number of runs granted when a protected application starts in trial/demo mode.

TYPE: UNSIGNED LONG.

SerializationKey

This property is your Private Serialization Key to be used for decryption of Serialization Codes.

TYPE: UNSIGNED LONG.

ShowMonitor

This property is to be set to TRUE (checked) if you want a dialog box to display runs and days left when a protected application running in trial/demo mode is launched, or FALSE (unchecked) if you don’t want this dialog box displayed, so that you can handle your own or none at all.

TYPE: BOOL.

TransferButtons

This property is to be set to TRUE (checked) if you want transfer buttons displayed on the dialog box which asks for authorization, so that you can implement the LICENSE TRANSFER capabilities in your protected applications. Otherwise, set this property to FALSE (unchecked), then these buttons will not be displayed.

TYPE: BOOL.

TrialMode

This property is to be set to TRUE (checked) if you want your protected application to start in trial/demo mode if it has never been launched before on a particular computer. Set this property to FALSE (unchecked) if you want your protected application to ask for authorization when launched for the first time even if it has never been installed before.

TYPE: BOOL.

UsersAllowed

Number of users granted when a protected application starts in trial/demo mode.

TYPE: UNSIGNED LONG.

EVENTS:

OnNotLicensed

It is used to handle an application terminating command. You can also use this event to display some kind of an advertising nag screen then send the application terminating command.

METHODS:

Execute

DWORD Execute(DWORD x)

This method activates the licensing process.

RETURN VALUE

If successful this method returns x.

x = Value you want to be returned on success.

GetDaysLeft

DWORD GetDaysLeft(void)

This method returns the number of days left.

RETURN VALUE

Number of days left.

GetRunsLeft

DWORD GetRunsLeft(void)

This method returns the number of runs left.

RETURN VALUE

Number of runs left.

Quit

void Quit(void)

This method performs automatically all the clean-up needed upon application termination. ONLY used in Visual Basic, Delphi, and C++ Builder applications.

RETURN VALUE

There is no value returned by this method.

ResetControlFile

int ResetControlFile(void)

This method resets all fully encrypted information in the Control File to their original starting values. It generates a new Serialization Code at the same time.

RETURN VALUE

1 if successful. Otherwise any other value.

TransferLicense

BOOL TransferLicense(void)

This method transfers the license information from a fully licensed computer to a disk previously prepared on the target computer. Only fully licensed information will be transferred. Applications running in trial/demo mode will not transfer.

RETURN VALUE

TRUE if successful. Otherwise FALSE.

ENTERPRISE EDITION -Extra Features-

PROPERTIES:

Input1 - Input2 - Input3 - Input4 - Input5 - Input6

Output1 - Output2 - Output3 - Output4 - Output5 - Output6

These twelve properties are written and read at run-time only. See the sample code in the AUTO directory. Used for automatic authorization.

TYPE: STRING.

METHODS:

CheckModuleMask

int CheckModuleMask(DWORD x)

This method checks whether a bit in the 16bit Module Mask is SET (checked).

RETURN VALUE

1 if the bit is set. Otherwise 0.

x = Bit number to check.

DecryptUserInfo

DWORD DecryptUserInfo(int x)

This method decrypts the Serialization Code values.

RETURN VALUE

This method returns the decrypted value.

x = Parameter to be decrypted:

1 = HardwareID.

2 = Days.

3 = SeedKey.

4 = Runs.

5 = Users.

6 = ModuleMask.

NOTE: This method will only work on a computer where a licensed “Key Calculator Wizard” resides.

GetActivationCode

int GetActivationCode(DWORD value1, DWORD value2, DWORD value3, DWORD value4, DWORD value5, DWORD value6)

This method calculates the Activation Codes.

RETURN VALUE

1 if successful. Otherwise any other value.

value1 = HardwareID.

value2 = Days.

value3 = SeedKey.

value4 = Runs.

value5 = Users.

value6 = ModuleMask.

NOTE: This method will only work on a computer where a licensed “Key Calculator Wizard” resides.

ResetAllModuleMask

int ResetAllModuleMask(void)

This method resets all bits in the 16bit Module Mask (all unchecked).

RETURN VALUE

1 if successful. Otherwise 0.

ResetModuleMask

int ResetModuleMask(DWORD x)

This method resets a single bit in the 16bit Module Mask (unchecked).

RETURN VALUE

1 if successful. Otherwise any other value.

x = Bit number to be RESET (unchecked).

SetModuleMask

int SetModuleMask(DWORD x)

This method sets the 16bit Module Mask’s bit number x (checked).

RETURN VALUE

1 if successful. Otherwise any other value.

x = Bit number to be SET (checked).


Key Calculator Wizard

Using the Key Calculator Wizard is really easy, we will describe how it works in the following steps:

1.- Enter your own Private Serialization and Activation Keys in their respective fields (they should be a number 8 to 9 digits long for highest security).

2.- Enter the user’s Serialization Code in the six edit fields of the SERIALIZATION CODE group.

3.- Enter the optional Company, Name, Date, and Invoice # information in their respective fields (this information doesn’t have anything to do with the Activation Code but will be used for the printed report as well as the information saved to disk for your Customer Records).

4.- Click on the DECRYPT button to obtain the Decrypted Information (Hardware ID, Seed Key, number of licensed Days, number of licensed Runs, number of licensed Users, and the Licensed Modules). You can also use the ACTION-DECRYPT menu item or its toolbar button.

5.- Enter the values for Days, Runs, Users, and Modules you want to license in their respective fields.

6.- Click on the GET CODE button to obtain the Activation Code for your customer in the six edit fields of the ACTIVATION CODE group. You can also use the ACTION-GET CODE menu item or its toolbar button.

7.- You can click on the PRINT REPORT toolbar button to print out all of the information and keep this report for your records if you want to. You can also use the FILE-PRINT menu item.

8.- Additionally you can save to disk all of the information by clicking the FILE-SAVE menu item or its toolbar button.

Key Calculator Wizard - Reset Utility

The Key Calculator Wizard has a RESET UTILITY which allows developers to reset their projects when testing Trial/Demo or Licensed applications on the same computer where they are developing. This is needed because once a Trial/Demo or Licensed application is running the developer needs to be able to reset it to keep testing.

To reset a project follow the steps below:

1.- Run the RESET UTILITY by clicking the TOOLS-RESET UTILITY menu item or its toolbar button.

2.- Enter the string for the project you want to reset (the string used in the ControlFileString property of your project).

3.- Click on the RESET PROJECT button.


Quick Start

Visual Basic

To add the “Crypto++ SDK Software Licensing ActiveX Control” to your applications for licensing and protection follow the steps below:

1.- Load the Control into your project through the Custom Controls menu item (Ctrl+T).

2.- Drop the Control on the main form of the application (this is the form that will be protected) and SET PROPERTIES (the Control will be invisible at run-time).

3.- Write the following code in the Load procedure of the form:

If Crypto1.Execute(12345) <> 12345 Then End

4.- Write the following code in the QueryUnload procedure of the form:

Crypto1.Quit

5.- Write the following code in the NotLicensed event of the Control:

End

NOTE: If you want to add License Transfer capabilities to your application, make sure you set the TransferButtons property to TRUE, and implement the following code through a menu item:

If Crypto1.TransferLicense = True Then End

IMPORTANT: Make sure you set the AutoCleanUp property to FALSE as the Quit method will do the Clean-Up automatically.

See the REFERENCE for specifics of properties, event, and methods.

You can also use the sample templates for testing as follows:

1.- Load the project.

2.- Compile it.

3.- Run the sample template application.

4.- Once the sample template application is working you should run it several times until it becomes unauthorized and asks you for an Activation Code.

5.- Run the Key Calculator Wizard and get a valid Activation Code for your project from the application’s Serialization Code.

6.- Experiment with different settings for days, runs, etc.

IMPORTANT: You MUST use the same Serialization and Activation Private Keys used in your SerializationKey and ActivationKey properties with the Key Calculator Wizard to get VALID CODES.

Visual C++ -Dialog Based Applications-

To add the “Crypto++ SDK Software Licensing ActiveX Control” to your applications for licensing and protection follow the steps below:

1.- Load the Control into your project through the Gallery. A wrapper class will be created. You can accept the default class and file names.

NOTE: If you didn’t create your project with ActiveX support, then add the following line to the application class InitInstance function:

AfxEnableControlContainer();

and this line to the StdAfx.h file:

#include <afxdisp.h>     // MFC OLE automation classes

2.- Open up your dialog, drop the Control on it, then SET PROPERTIES (the Control will be invisible at run-time).

IMPORTANT: Make sure you set the AutoCleanUp property to TRUE.

3.- Open the ClassWizard. Create a member variable for the Control (m_cryptoCtl), and a handler for the NotLicensed event of the Control (OnNotLicensed), then write the following line in the dialog class OnInitDialog function, right before the return line:

if(m_cryptoCtl.Execute(12345) != 12345) exit(0);

and this line in the OnNotLicensed handler:

exit(0);

NOTE: If you want to add License Transfer capabilities to your application, make sure you set the TransferButtons property to TRUE, and implement the following code through a menu item:

if(m_cryptoCtl.TransferLicense() == TRUE) exit(0);

See the REFERENCE for specifics of properties, event, and methods.

You can also use the sample templates for testing as follows:

1.- Load the project.

2.- Compile it.

3.- Run the sample template application.

4.- Once the sample template application is working you should run it several times until it becomes unauthorized and asks you for an Activation Code.

5.- Run the Key Calculator Wizard and get a valid Activation Code for your project from the application’s Serialization Code.

6.- Experiment with different settings for days, runs, etc.

IMPORTANT: You MUST use the same Serialization and Activation Private Keys used in your SerializationKey and ActivationKey properties with the Key Calculator Wizard to get VALID CODES.

Visual C++ -Run-Time Creating-

To create the “Crypto++ SDK Software Licensing ActiveX Control” in your applications for licensing and protection at       run-time (for SDI/MDI applications) follow the steps below:

1.- Load the Control into your project through the Gallery. A wrapper class will be created. You can accept the default class and file names.

NOTE: If you didn’t create your project with ActiveX support, then add the following line to the application class InitInstance function:

AfxEnableControlContainer();

and this line to the StdAfx.h file:

#include <afxdisp.h>     // MFC OLE automation classes

2.- Add a data member to the View class of your application by clicking on the ClassView tab in the Workspace window, and then right-clicking the View class. Choose Add Member Variable, and type in the class name of the Control (CCrypto) as the variable type, m_cryptoCtl as the variable declaration, and set the Access to Private. The Control object will be constructed and destroyed along with the window object.

3.- Select Resource Symbols from Developer Studio’s View menu, and then add the symbol ID_CRYPTOCTL.

4.- Use ClassWizard to map the view’s WM_CREATE message, and edit the handler with the code below to CREATE the Control, and SET PROPERTIES:

BOOL bRet = m_cryptoCtl.Create(NULL, WS_DISABLED,

CRect(0, 0, 0, 0), this, ID_CRYPTOCTL);

if(bRet == 0)	exit(0);

m_cryptoCtl.SetDaysAllowed(30);

m_cryptoCtl.SetRunsAllowed(10);

m_cryptoCtl.SetUsersAllowed(3);

m_cryptoCtl.SetMaxRuns(10);

m_cryptoCtl.SetMaxDays(30);

m_cryptoCtl.SetNoExpiration(15591);

m_cryptoCtl.SetSerializationKey(123456789);

m_cryptoCtl.SetActivationKey(987654321);

m_cryptoCtl.SetControlFileString("test");

m_cryptoCtl.SetCompanyInfoString("My Company Inc. Phone 555-1234 Fax 555-5678 E-mail: support@mycompany.com");

m_cryptoCtl.SetTrialMode(TRUE);

m_cryptoCtl.SetAutoCleanUp(TRUE);

m_cryptoCtl.SetShowMonitor(TRUE);

m_cryptoCtl.SetTransferButtons(TRUE);

return bRet;

5.- ClassWizard can’t map events from a dynamic ActiveX control, so you must do it manually. Add the following lines inside the class declaration in your application’s view header file:

protected:

afx_msg void OnNotLicensedCryptoCtl();

DECLARE_EVENTSINK_MAP()

make sure you include the crypto.h file too. Then add the following code to your application’s view .cpp file:

BEGIN_EVENTSINK_MAP(CSample32View, CView)

ON_EVENT(CSample32View, ID_CRYPTOCTL, 1, OnNotLicensedCryptoCtl, VTS_NONE)

END_EVENTSINK_MAP()

6.- ClassWizard can’t map messages from a dynamic ActiveX control, so you must do it manually. Add the handler for the NotLicensed event of the Control:

void CSample32View::OnNotLicensedCryptoCtl()

{

exit(0);

}

7.- Use ClassWizard to map the view’s WM_SHOWWINDOW message, and edit the handler with the code below to activate the licensing process of the Control:

if(m_cryptoCtl.Execute(12345) != 12345) exit(0);

IMPORTANT: Make sure you set the AutoCleanUp property to TRUE.

NOTE: If you want to add License Transfer capabilities to your application, make sure you set the TransferButtons property to TRUE, and implement the following code through a menu item:

if(m_cryptoCtl.TransferLicense() == TRUE) exit(0);

See the REFERENCE for specifics of properties, event, and methods.

You can also use the sample templates for testing as follows:

1.- Load the project.

2.- Compile it.

3.- Run the sample template application.

4.- Once the sample template application is working you should run it several times until it becomes unauthorized and asks you for an Activation Code.

5.- Run the Key Calculator Wizard and get a valid Activation Code for your project from the application’s Serialization Code.

6.- Experiment with different settings for days, runs, etc.

IMPORTANT: You MUST use the same Serialization and Activation Private Keys used in your SerializationKey and ActivationKey properties with the Key Calculator Wizard to get VALID CODES.

Delphi

To add the “Crypto++ SDK Software Licensing ActiveX Control” to your applications for licensing and protection follow the steps below:

1.- Install the Control so that you have it available on your palette. Read your Delphi User’s Guide if you don’t know how to install a new Component.

2.- Drop the Control on the main form of the application (this is the form that will be protected) and SET PROPERTIES (the Control will be invisible at run-time).

3.- Create a handler for the OnShow event of the form and write the following code in it:

If Crypto1.Execute(12345) <> 12345 Then Application.Terminate;

4.- Create a handler for the OnCloseQuery event of the form and write the following code in it:

Crypto1.Quit;

5.- Create a handler for the OnNotLicensed event of the Control and write the following code in it:

Application.Terminate;

NOTE: If you want to add License Transfer capabilities to your application, make sure you set the TransferButtons property to TRUE, and implement the following code through a menu item:

If Crypto1.TransferLicense = True Then Application.Terminate;

IMPORTANT: Make sure you set the AutoCleanUp property to FALSE as the Quit method will do the Clean-Up automatically.

See the REFERENCE for specifics of properties, event, and methods.

You can also use the sample templates for testing as follows:

1.- Load the project.

2.- Compile it.

3.- Run the sample template application.

4.- Once the sample template application is working you should run it several times until it becomes unauthorized and asks you for an Activation Code.

5.- Run the Key Calculator Wizard and get a valid Activation Code for your project from the application’s Serialization Code.

6.- Experiment with different settings for days, runs, etc.

IMPORTANT: You MUST use the same Serialization and Activation Private Keys used in your SerializationKey and ActivationKey properties with the Key Calculator Wizard to get VALID CODES.

C++ Builder

To add the “Crypto++ SDK Software Licensing ActiveX Control” to your applications for licensing and protection follow the steps below:

1.- Install the Control so that you have it available on your palette. Read your C++ Builder User’s Guide if you don’t know how to install a new Component.

2.- Drop the Control on the main form of the application (this is the form that will be protected) and SET PROPERTIES (the Control will be invisible at run-time).

3.- Create a handler for the OnShow event of the form and write the following code in it:

if(Crypto1->Execute(12345) != 12345) PostQuitMessage(0);

4.- Create a handler for the OnCloseQuery event of the form and write the following code in it:

Crypto1->Quit();

5.- Create a handler for the OnNotLicensed event of the Control and write the following code in it:

PostQuitMessage(0);

NOTE: If you want to add License Transfer capabilities to your application, make sure you set the TransferButtons property to TRUE, and implement the following code through a menu item:

if(Crypto1->TransferLicense() == true) PostQuitMessage(0);

IMPORTANT: Make sure you set the AutoCleanUp property to FALSE as the Quit method will do the Clean-Up automatically.

See the REFERENCE for specifics of properties, event, and methods.

You can also use the sample templates for testing as follows:

1.- Load the project.

2.- Compile it.

3.- Run the sample template application.

4.- Once the sample template application is working you should run it several times until it becomes unauthorized and asks you for an Activation Code.

5.- Run the Key Calculator Wizard and get a valid Activation Code for your project from the application’s Serialization Code.

6.- Experiment with different settings for days, runs, etc.

IMPORTANT: You MUST use the same Serialization and Activation Private Keys used in your SerializationKey and ActivationKey properties with the Key Calculator Wizard to get VALID CODES.

INTERNET AUTHORIZATION AND CUSTOMER TRACKING SYSTEMS:

There are two methods available for Internet Authorization and Customer Tracking systems that you can use and interface to:

DecryptUserInfo and GetActivationCode (see the Control Reference).

Sample code is provided in the AUTO directory for these two methods (Enterprise Edition only).

LICENSE TRANSFER:

You can transfer a valid license to another computer by following the steps below:

1.- Install your protected application on the computer you want to transfer your license to, run it and when you get the dialog box asking for an Activation Code click on the PREPARE TRANSFER button. You will be prompted to insert a disk and it will be prepared.

2.- Go back to the computer where your licensed application is and launch it. Click on the LICENSE-TRANSFER LICENSE menu item or its toolbar button (for instance), you will be prompted to insert the disk you previously prepared, and the license will be transferred leaving your protected application on that computer unauthorized.

3.- On the computer you want to transfer your license to, run your protected application, and when you get the dialog box asking for an Activation Code click on the TRANSFER LICENSE button, you will be prompted to insert the disk where your license resides, and then the license will be transferred.


A Few Hints

HINTS:

In the implementation of the Sample Templates we have used the value 15591 for the application to never expire (NO EXPIRATION VALUE), and 10 to be the highest RUNS COUNT legal value, that means that any value for RUNS COUNT greater than 10 would be illegal, and if we set the RUNS COUNT to 15591 then your Protected Application would NEVER expire. We have used 30 for the highest DATE COUNT (number of days) legal value, 123456789 for the Serialization Private Key, 987654321 for the Activation Private Key, and for the STRING to create the main Control File we have used TEST.

You should use YOUR OWN VALUES so that only you know the exact behavior of your Protected Applications and nobody else but you can get VALID ACTIVATION CODES for them.

With Crypto++ SDK ActiveX you will ALWAYS get LIMITED INSTALLS protection since every time one of your customers installs and runs any of your Protected Applications he/she will get a TOTALLY DIFFERENT SERIALIZATION CODE (even on the same computer).

Whenever possible use COPY and PASTE to avoid typing errors between “I” and One or “O”  and Zero when handling Serialization and Activation codes.


License Agreement

End-User License Agreement for SAMPSON MULTIMEDIA's Crypto++ SDK ActiveX.

October 1998

IMPORTANT-READ CAREFULLY: This Sampson Multimedia End-User License Agreement (EULA) is a legal agreement between you (either an individual or a single entity) and Sampson Multimedia for the product identified above, which includes computer software and online or electronic documentation and may include associated media and printed materials (if any) (SOFTWARE PRODUCT or SOFTWARE). By installing, copying, or otherwise using the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this Agreement, you are not authorized to use the SOFTWARE PRODUCT.

The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold, and remains the sole property of SAMPSON MULTIMEDIA.

1. GRANT OF LICENSE. This EULA grants you the following rights:

Use and Copy. Sampson Multimedia grants to you the right to use the SOFTWARE PRODUCT and make copies of it for backup and archival purposes as well as for redistributing.

2.  RESTRICTIONS.

You must maintain all copyright notices on all copies of the SOFTWARE PRODUCT.

You may not reverse-engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

You may permanently transfer all of your rights under this EULA.

You must comply with all applicable laws regarding the use of the SOFTWARE PRODUCT.

3.  TERMINATION. Your rights under this EULA terminate if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT.

4.  COPYRIGHT. All title and copyrights in and to the SOFTWARE PRODUCT and any copies thereof are owned by Sampson Multimedia. All title and intellectual property rights in and to the content which may be accessed through use of the SOFTWARE PRODUCT is the property of the respective content owner and may be protected by applicable copyright or other intellectual property laws and treaties.  This EULA grants you no rights to use such content.

5.  U.S. GOVERNMENT RESTRICTED RIGHTS. The SOFTWARE PRODUCT is provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software Restricted Rights at 48 CFR 52.227-19, as applicable.

6.  EXPORT RESTRICTIONS. You agree that you will not export or re-export the SOFTWARE PRODUCT to any country, person, entity or end user subject to U.S.A. export restrictions.  Restricted countries currently include, but are not necessarily limited to Cuba, Iran, Iraq, Libya, North Korea, Syria, and the Federal Republic of Yugoslavia (Serbia and Montenegro, U.N. Protected Areas and areas of Republic of Bosnia and Herzegovina under the control of Bosnian Serb forces).  You warrant and represent that neither the U.S.A. Bureau of Export Administration nor any other federal agency has suspended, revoked or denied your export privileges.

7.  NO LIABILITY FOR CONSEQUENTIAL DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL SAMPSON MULTIMEDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE PRODUCT, EVEN IF SAMPSON MULTIMEDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

8.-  LIMITATION OF LIABILITY.  SAMPSON MULTIMEDIA'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY UNDER THIS EULA SHALL NOT EXCEED FIVE DOLLARS (US$5.00).

9.-  HIGH RISK ACTIVITIES.THE SOFTWARE IS NOT FAULT-TOLERANT AND IS NOT DESIGNED, MANUFACTURED OR INTENDED FOR USE OR RESALE AS ON-LINE CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). SAMPSON MULTIMEDIA AND ITS SUPPLIERS SPECIFICALLY DISCLAIM ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.

10.-  THIS STATEMENT SHALL BE CONSTRUED, INTERPRETED AND GOVERNED BY THE LAWS OF MEXICO CITY, MEXICO.  THIS STATEMENT GIVES YOU SPECIFIC LEGAL RIGHTS; YOU MAY HAVE OTHERS WHICH VARY FROM STATE TO STATE AND FROM COUNTRY TO COUNTRY.  SAMPSON MULTIMEDIA RESERVES ALL RIGHTS NOT SPECIFICALLY GRANTED IN THIS STATEMENT.


OVERVIEW

The Crypto++ SDK ActiveX package consists of an ActiveX Control which methods control the whole security process and the Key Calculator Wizard which as its name implies calculates the Activation Codes to be provided to the end user to license the protected application.

Crypto++ SDK ActiveX has been designed to help Developers protect their software from being used without authorization, turn it into Trialware which is a most to be able to spread it over the Web and BBS, save money spent on Demo versions, save time and money by Not needing to use Expensive Hardware Locks or Key Disks, etc. It has been designed for fast and easy Drag and Drop Software Licensing and Copy Protection. It includes complete working Sample Templates for the following programming languages:

Visual Basic, Visual C++, Delphi, and C++ Builder.

Crypto++ SDK ActiveX gives the Developer a wide range of protection schemes like Date Limits, Run Limits, Limited Installs, etc. Also protects him/her in situations like when a user sets his system's time back or far into the future trying to cheat the application, the user tries to use the same code again or passes it to a friend etc. In fact the code will only be valid for just one time in any case and it will totally change every time the application needs authorization, not even the Developer can get a valid code without the Key Calculator Wizard.

Crypto++ SDK ActiveX is 100% ROYALTY-FREE and includes a FREE 1 FULL YEAR SUPPORT.


HOW DOES IT WORK?

The amazing degree of protection a Developer gets through the use of Crypto++ SDK ActiveX is achieved by a combination of the user's hardware signature, date of installation, random seed key and authorization key code; which are double encrypted by Sophisticated Computer Algorithms and then displayed in Alphanumeric format, therefore allowing the Activation Code to work only on the authorized computer and for the type of authorization granted; besides the Activation Code will only work for one time only and it will totally change every time another Activation Code is requested, in fact this scheme is so secure that even the Developer couldn't get a valid code without the Key Calculator Wizard.

When an application protected by Crypto++ SDK ActiveX runs for the first time it shows a dialog box displaying the alphanumeric Serialization Code which the end user gives to the Developer to get his/her Activation Code.

The Developer enters the Serialization Code into the Key Calculator Wizard and gets a valid Activation Code to be provided to his/her customer.

With Crypto++ SDK ActiveX you also get the following advantages:

1) You can distribute your protected applications over the INTERNET, BBS, CD-ROM, TELEMARKETING or any other kind of mass distribution without worrying about your software being used without paying or being authorized.

2) Besides increasing your revenues by having Total Control of your software you also Save Time and Money by Not needing to use Expensive Hardware Locks or Disk Keys.

Crypto++ SDK ActiveX provides you with the highest protection available yet fast and easy Drag and Drop functionality which allow you to protect quick, easy, and thoroughly your new or existing applications.


New Features in Version 2.0
NEW FEATURES IN VERSION 3.0

ActiveX Control included for fast and easy Drag and Drop Software Licensing and Copy Protection.

Year 2000 Compatible.

Initial Trial/Demo Mode.

Number of Allowed Users (with Crash Protection).

License Transfer Capabilities.

13 Control Points (for Extra Security).

Multiple Modules/Features Activation per application.

Individual Private Keys (for Extra Security).

Unlimited Applications Licensing and Protection with same OCX.

Auto Update Time Control (for Extra Security).

Interface to Customer Tracking Systems, and Automatic Authorization over the Web.


FREQUENTLY ASKED QUESTIONS

1) Q. How easy is to protect my application with Crypto++ SDK ActiveX?

A. It is as easy as DRAG AND DROP the Control, SET PROPERTIES, and WRITE A COUPLE OF LINES OF CODE, or copy and paste code from the complete working Sample Templates to your new or existing applications.

2) Q. I have seen people setting their system's date back or far into the future (when they first install applications) to try and cheat applications, how does Crypto++ SDK ActiveX addresses this issue?

A. Crypto++ SDK ActiveX is so secure and sensible that in such a case not only immediately unauthorizes the application but also the Serialization Code will totally change and the old Activation Code will be useless.

3) Q. Why would I want to turn my software into Trialware?

A. Because all of your potential customers can try your fully functional software instead of a cut down demo version before they buy it; besides you Save Time and Money by not having to develop that extra demo version.

4) Q. Can Crypto++ SDK ActiveX protect me in the event that a user passes his/her Activation Code to somebody else?

A. Absolutely Yes, Crypto++ SDK ActiveX generates Serialization Codes which are user's hardware dependent and calculated at the very instant the application was installed with a random Seed Key, so the code will not work in any other computer or even the same one if the application is reinstalled.

5) Q. Can a user use the same Activation Code more than once?

A. NO, the Activation Codes are good for one time and one time only; every time the application asks for an Activation Code the Serialization Code is calculated again and therefore totally different even for the same user's computer.

6) Q. How secure is Crypto++ SDK ActiveX?

A. Crypto++ SDK ActiveX features a double encryption system built upon sophisticated computer algorithms which is so secure that even the Developer couldn't get a valid code without the Key Calculator Wizard.

7) Q. Why use Crypto++ SDK ActiveX instead of Hardware Locks or Disk Keys?

A. Because besides getting security features well compared or exceeding those of Hardware Locks or Disk Keys you Save Time and Money on not only the actual cost of them but also the hardware inconveniences related to them.

8) Q. Do I have to pay royalties for every additional program I develop or any additional copies of a same program, or do I have to pay for support too?

A. Absolutely NO, unlike others you DON'T PAY any royalties for license keys or any other kind of license scheme. Crypto++ SDK ActiveX is 100% ROYALTY-FREE and has a FREE 1 FULL YEAR SUPPORT.

9) Q. Does the Crypto++ SDK ActiveX package come with templates?

A. YES it comes with complete working Sample Templates for Visual Basic, Visual C++, Delphi, and C++ Builder.


Welcome
Welcome to Crypto++ SDK ActiveX

The Ultimate Software Licensing and Copy Protection Toolkit!

Provides total Software Licensing and Copy Protection to new and existing applications.

Turn your trial/demo into full-blown applications instantly.

Wide range of protection schemes:

Days and runs limits, number of allowed users, modules, features, etc.

It is 100% Royalty-Free.

Crypto++ SDK ActiveX is the real programmer's choice in Software Licensing and Copy Protection!

http://www.sampson-multimedia.com

support@sampson-multimedia.com


Difference Between Versions

The features only found in the Enterprise Edition are:

Multiple Modules/Features Activation per application.

Interface to Customer Tracking Systems and Automatic Authorization over the Web.

NOTE: There are Evaluation Versions which have all the regular features available for FREE DOWNLOAD.